package com.songcha.library_database_douyue.greendao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.songcha.library_database_douyue.bean.BookBrowseHistoryBean;
import com.songcha.library_database_douyue.bean.BookDetailDBBean;
import com.songcha.library_database_douyue.bean.BookDownloadDBBean;
import com.songcha.library_database_douyue.bean.BookLastReadDBBean;
import com.songcha.library_database_douyue.bean.BookReadProgressDBBean;
import com.songcha.library_database_douyue.bean.BookSearchHistoryBean;
import com.songcha.library_database_douyue.bean.BookShelfDBBean;
import com.songcha.library_database_douyue.bean.BookTodayCommentWriteCountDBBean;
import com.songcha.library_database_douyue.bean.BookTodayReadChapterCountDBBean;
import com.songcha.library_database_douyue.bean.BookTodayReadTimeDBBean;
import com.songcha.library_database_douyue.bean.TodayObtainGoldCountDBBean;
import com.songcha.library_database_douyue.bean.TodayWatchRewardAdvertCountDBBean;

import com.songcha.library_database_douyue.greendao.BookBrowseHistoryBeanDao;
import com.songcha.library_database_douyue.greendao.BookDetailDBBeanDao;
import com.songcha.library_database_douyue.greendao.BookDownloadDBBeanDao;
import com.songcha.library_database_douyue.greendao.BookLastReadDBBeanDao;
import com.songcha.library_database_douyue.greendao.BookReadProgressDBBeanDao;
import com.songcha.library_database_douyue.greendao.BookSearchHistoryBeanDao;
import com.songcha.library_database_douyue.greendao.BookShelfDBBeanDao;
import com.songcha.library_database_douyue.greendao.BookTodayCommentWriteCountDBBeanDao;
import com.songcha.library_database_douyue.greendao.BookTodayReadChapterCountDBBeanDao;
import com.songcha.library_database_douyue.greendao.BookTodayReadTimeDBBeanDao;
import com.songcha.library_database_douyue.greendao.TodayObtainGoldCountDBBeanDao;
import com.songcha.library_database_douyue.greendao.TodayWatchRewardAdvertCountDBBeanDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig bookBrowseHistoryBeanDaoConfig;
    private final DaoConfig bookDetailDBBeanDaoConfig;
    private final DaoConfig bookDownloadDBBeanDaoConfig;
    private final DaoConfig bookLastReadDBBeanDaoConfig;
    private final DaoConfig bookReadProgressDBBeanDaoConfig;
    private final DaoConfig bookSearchHistoryBeanDaoConfig;
    private final DaoConfig bookShelfDBBeanDaoConfig;
    private final DaoConfig bookTodayCommentWriteCountDBBeanDaoConfig;
    private final DaoConfig bookTodayReadChapterCountDBBeanDaoConfig;
    private final DaoConfig bookTodayReadTimeDBBeanDaoConfig;
    private final DaoConfig todayObtainGoldCountDBBeanDaoConfig;
    private final DaoConfig todayWatchRewardAdvertCountDBBeanDaoConfig;

    private final BookBrowseHistoryBeanDao bookBrowseHistoryBeanDao;
    private final BookDetailDBBeanDao bookDetailDBBeanDao;
    private final BookDownloadDBBeanDao bookDownloadDBBeanDao;
    private final BookLastReadDBBeanDao bookLastReadDBBeanDao;
    private final BookReadProgressDBBeanDao bookReadProgressDBBeanDao;
    private final BookSearchHistoryBeanDao bookSearchHistoryBeanDao;
    private final BookShelfDBBeanDao bookShelfDBBeanDao;
    private final BookTodayCommentWriteCountDBBeanDao bookTodayCommentWriteCountDBBeanDao;
    private final BookTodayReadChapterCountDBBeanDao bookTodayReadChapterCountDBBeanDao;
    private final BookTodayReadTimeDBBeanDao bookTodayReadTimeDBBeanDao;
    private final TodayObtainGoldCountDBBeanDao todayObtainGoldCountDBBeanDao;
    private final TodayWatchRewardAdvertCountDBBeanDao todayWatchRewardAdvertCountDBBeanDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        bookBrowseHistoryBeanDaoConfig = daoConfigMap.get(BookBrowseHistoryBeanDao.class).clone();
        bookBrowseHistoryBeanDaoConfig.initIdentityScope(type);

        bookDetailDBBeanDaoConfig = daoConfigMap.get(BookDetailDBBeanDao.class).clone();
        bookDetailDBBeanDaoConfig.initIdentityScope(type);

        bookDownloadDBBeanDaoConfig = daoConfigMap.get(BookDownloadDBBeanDao.class).clone();
        bookDownloadDBBeanDaoConfig.initIdentityScope(type);

        bookLastReadDBBeanDaoConfig = daoConfigMap.get(BookLastReadDBBeanDao.class).clone();
        bookLastReadDBBeanDaoConfig.initIdentityScope(type);

        bookReadProgressDBBeanDaoConfig = daoConfigMap.get(BookReadProgressDBBeanDao.class).clone();
        bookReadProgressDBBeanDaoConfig.initIdentityScope(type);

        bookSearchHistoryBeanDaoConfig = daoConfigMap.get(BookSearchHistoryBeanDao.class).clone();
        bookSearchHistoryBeanDaoConfig.initIdentityScope(type);

        bookShelfDBBeanDaoConfig = daoConfigMap.get(BookShelfDBBeanDao.class).clone();
        bookShelfDBBeanDaoConfig.initIdentityScope(type);

        bookTodayCommentWriteCountDBBeanDaoConfig = daoConfigMap.get(BookTodayCommentWriteCountDBBeanDao.class).clone();
        bookTodayCommentWriteCountDBBeanDaoConfig.initIdentityScope(type);

        bookTodayReadChapterCountDBBeanDaoConfig = daoConfigMap.get(BookTodayReadChapterCountDBBeanDao.class).clone();
        bookTodayReadChapterCountDBBeanDaoConfig.initIdentityScope(type);

        bookTodayReadTimeDBBeanDaoConfig = daoConfigMap.get(BookTodayReadTimeDBBeanDao.class).clone();
        bookTodayReadTimeDBBeanDaoConfig.initIdentityScope(type);

        todayObtainGoldCountDBBeanDaoConfig = daoConfigMap.get(TodayObtainGoldCountDBBeanDao.class).clone();
        todayObtainGoldCountDBBeanDaoConfig.initIdentityScope(type);

        todayWatchRewardAdvertCountDBBeanDaoConfig = daoConfigMap.get(TodayWatchRewardAdvertCountDBBeanDao.class).clone();
        todayWatchRewardAdvertCountDBBeanDaoConfig.initIdentityScope(type);

        bookBrowseHistoryBeanDao = new BookBrowseHistoryBeanDao(bookBrowseHistoryBeanDaoConfig, this);
        bookDetailDBBeanDao = new BookDetailDBBeanDao(bookDetailDBBeanDaoConfig, this);
        bookDownloadDBBeanDao = new BookDownloadDBBeanDao(bookDownloadDBBeanDaoConfig, this);
        bookLastReadDBBeanDao = new BookLastReadDBBeanDao(bookLastReadDBBeanDaoConfig, this);
        bookReadProgressDBBeanDao = new BookReadProgressDBBeanDao(bookReadProgressDBBeanDaoConfig, this);
        bookSearchHistoryBeanDao = new BookSearchHistoryBeanDao(bookSearchHistoryBeanDaoConfig, this);
        bookShelfDBBeanDao = new BookShelfDBBeanDao(bookShelfDBBeanDaoConfig, this);
        bookTodayCommentWriteCountDBBeanDao = new BookTodayCommentWriteCountDBBeanDao(bookTodayCommentWriteCountDBBeanDaoConfig, this);
        bookTodayReadChapterCountDBBeanDao = new BookTodayReadChapterCountDBBeanDao(bookTodayReadChapterCountDBBeanDaoConfig, this);
        bookTodayReadTimeDBBeanDao = new BookTodayReadTimeDBBeanDao(bookTodayReadTimeDBBeanDaoConfig, this);
        todayObtainGoldCountDBBeanDao = new TodayObtainGoldCountDBBeanDao(todayObtainGoldCountDBBeanDaoConfig, this);
        todayWatchRewardAdvertCountDBBeanDao = new TodayWatchRewardAdvertCountDBBeanDao(todayWatchRewardAdvertCountDBBeanDaoConfig, this);

        registerDao(BookBrowseHistoryBean.class, bookBrowseHistoryBeanDao);
        registerDao(BookDetailDBBean.class, bookDetailDBBeanDao);
        registerDao(BookDownloadDBBean.class, bookDownloadDBBeanDao);
        registerDao(BookLastReadDBBean.class, bookLastReadDBBeanDao);
        registerDao(BookReadProgressDBBean.class, bookReadProgressDBBeanDao);
        registerDao(BookSearchHistoryBean.class, bookSearchHistoryBeanDao);
        registerDao(BookShelfDBBean.class, bookShelfDBBeanDao);
        registerDao(BookTodayCommentWriteCountDBBean.class, bookTodayCommentWriteCountDBBeanDao);
        registerDao(BookTodayReadChapterCountDBBean.class, bookTodayReadChapterCountDBBeanDao);
        registerDao(BookTodayReadTimeDBBean.class, bookTodayReadTimeDBBeanDao);
        registerDao(TodayObtainGoldCountDBBean.class, todayObtainGoldCountDBBeanDao);
        registerDao(TodayWatchRewardAdvertCountDBBean.class, todayWatchRewardAdvertCountDBBeanDao);
    }
    
    public void clear() {
        bookBrowseHistoryBeanDaoConfig.clearIdentityScope();
        bookDetailDBBeanDaoConfig.clearIdentityScope();
        bookDownloadDBBeanDaoConfig.clearIdentityScope();
        bookLastReadDBBeanDaoConfig.clearIdentityScope();
        bookReadProgressDBBeanDaoConfig.clearIdentityScope();
        bookSearchHistoryBeanDaoConfig.clearIdentityScope();
        bookShelfDBBeanDaoConfig.clearIdentityScope();
        bookTodayCommentWriteCountDBBeanDaoConfig.clearIdentityScope();
        bookTodayReadChapterCountDBBeanDaoConfig.clearIdentityScope();
        bookTodayReadTimeDBBeanDaoConfig.clearIdentityScope();
        todayObtainGoldCountDBBeanDaoConfig.clearIdentityScope();
        todayWatchRewardAdvertCountDBBeanDaoConfig.clearIdentityScope();
    }

    public BookBrowseHistoryBeanDao getBookBrowseHistoryBeanDao() {
        return bookBrowseHistoryBeanDao;
    }

    public BookDetailDBBeanDao getBookDetailDBBeanDao() {
        return bookDetailDBBeanDao;
    }

    public BookDownloadDBBeanDao getBookDownloadDBBeanDao() {
        return bookDownloadDBBeanDao;
    }

    public BookLastReadDBBeanDao getBookLastReadDBBeanDao() {
        return bookLastReadDBBeanDao;
    }

    public BookReadProgressDBBeanDao getBookReadProgressDBBeanDao() {
        return bookReadProgressDBBeanDao;
    }

    public BookSearchHistoryBeanDao getBookSearchHistoryBeanDao() {
        return bookSearchHistoryBeanDao;
    }

    public BookShelfDBBeanDao getBookShelfDBBeanDao() {
        return bookShelfDBBeanDao;
    }

    public BookTodayCommentWriteCountDBBeanDao getBookTodayCommentWriteCountDBBeanDao() {
        return bookTodayCommentWriteCountDBBeanDao;
    }

    public BookTodayReadChapterCountDBBeanDao getBookTodayReadChapterCountDBBeanDao() {
        return bookTodayReadChapterCountDBBeanDao;
    }

    public BookTodayReadTimeDBBeanDao getBookTodayReadTimeDBBeanDao() {
        return bookTodayReadTimeDBBeanDao;
    }

    public TodayObtainGoldCountDBBeanDao getTodayObtainGoldCountDBBeanDao() {
        return todayObtainGoldCountDBBeanDao;
    }

    public TodayWatchRewardAdvertCountDBBeanDao getTodayWatchRewardAdvertCountDBBeanDao() {
        return todayWatchRewardAdvertCountDBBeanDao;
    }

}
